<?php

App::uses('AppHelper', 'View/Helper');

class CachedAutoCompleteHelper extends AutoCompleteHelper {

	var $helpers = array('Form', 'Html', 'AutoComplete');

/*
* az Ajax.Autocempleter-t ruházzuk fel cache funkióval
*
* @param string $field a html input id-je amibe belepötyögünk
* @param string $url a szerveren meghívandó url
* @param array $options a lehetséges opciók
* 						div_id					az autocompleter találatait megjelenítő div id-je
* 						id							az autocompleter találatait megjelenítő div id képzéséhez kell, ha nincs az előző (divid)
* 						cacheId					a cahe azonosítója - e nélkül sima autocompletert adunk vissza
* 						autocompleterOptions	az autocompleterhez használható JS változók mint token, afterUpdateElement, stb JS ojjektum formában
* 						???						minden egyéb átadható html opció
*/
	function create($field, $url = "", $options = array()){
		$autocompleter = parent::create($field, $url, $options);
		if($options['cacheId']){
			$cachedAutocompleter = str_replace('Ajax.Autocompleter', 'Ajax.CachedAutocompleter', $autocompleter);
			$cachedAutocompleter = str_replace('}', ', cacheId:\''.$options['cacheId'].'\'}', $cachedAutocompleter);
			$cachedAutocompleter = str_replace('{,', '{', $cachedAutocompleter);	//ha {} volt megadva akkor egy , feleslegesen kerül hozzáadásra az előző sorban
			return $cachedAutocompleter;
		}
		else
			return $autocompleter;
	}
}

?>